/*
 * Copyright (C), 2002-2017, 苏宁易购电子商务有限公司
 * FileName: CustomerDetail.java
 * Author:   15050536
 * Date:     2017年3月27日 下午2:19:34
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.suning.sawp.member.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 客户详情表对应的实体
 *
 * @author 15050536 石键平
 */
@Entity(name = "mem_customer_detail")
public class CustomerDetail implements Serializable {

	/**
	 */
	private static final long serialVersionUID = 2598764310621317327L;

	/**
	 * 主键
	 */
	private Long id;

	/**
	 * 客户姓名
	 */
	private String name;

	/**
	 * 客户手机号
	 */
	private String mobile;

	/**
	 * 会员编码
	 */
	private String custNo;

	/**
	 * 会员等级
	 */
	private String level;

	/**
	 * 活动id（通过哪个活动拓展或询价的）
	 */
	private Long activityId;

	/**
	 * 活动名称
	 */
	private String activityName;

	/**
	 * 拓展任务id
	 */
	private Long expandId;

	/**
	 * 来源 0:门店外拓；1：询价未购
	 */
	private Short source;

	/**
	 * 方式：0：预充值锁定；1意向客户
	 */
	private Short mode;

	/**
	 * 期望到店日期
	 */
	private Date expectDate;

	/**
	 * 期望购买金额
	 */
	private BigDecimal expectPay;

	/**
	 * 购买类别 1:单品 ；2:套餐
	 */
	private Short buyType;

	/**
	 * 创建时间
	 */
	private Date createTime;

	/**
	 * 发展的店员工号
	 */
	private String employeeId;

	/**
	 * 发展的店员姓名
	 */
	private String employeeName;

	/**
	 * 门店编码
	 */
	private String storeCode;

	/**
	 * 品类编码（门店外拓的时候，是督导选人时候关联的品类；询价未购的时候，就是店员关联的品类）
	 */
	private String cateCode;

	/**
	 * 备注
	 */
	private String memo;

	@Id
	@Column(name = "id")
	@GeneratedValue(strategy = GenerationType.AUTO)
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	@Column(name = "name")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "mobile")
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	@Column(name = "cust_no")
	public String getCustNo() {
		return custNo;
	}

	public void setCustNo(String custNo) {
		this.custNo = custNo;
	}

	@Column(name = "level")
	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}

	@Column(name = "activity_id")
	public Long getActivityId() {
		return activityId;
	}

	public void setActivityId(Long activityId) {
		this.activityId = activityId;
	}

	@Column(name = "activity_name")
	public String getActivityName() {
		return activityName;
	}

	public void setActivityName(String activityName) {
		this.activityName = activityName;
	}

	@Column(name = "expand_id")
	public Long getExpandId() {
		return expandId;
	}

	public void setExpandId(Long expandId) {
		this.expandId = expandId;
	}

	@Column(name = "source")
	public Short getSource() {
		return source;
	}

	public void setSource(Short source) {
		this.source = source;
	}

	@Column(name = "mode")
	public Short getMode() {
		return mode;
	}

	public void setMode(Short mode) {
		this.mode = mode;
	}

	@Column(name = "expect_date")
	public Date getExpectDate() {
		return expectDate;
	}

	public void setExpectDate(Date expectDate) {
		this.expectDate = expectDate;
	}

	@Column(name = "expect_pay")
	public BigDecimal getExpectPay() {
		return expectPay;
	}

	public void setExpectPay(BigDecimal expectPay) {
		this.expectPay = expectPay;
	}

	@Column(name = "buy_type")
	public Short getBuyType() {
		return buyType;
	}

	public void setBuyType(Short buyType) {
		this.buyType = buyType;
	}

	@Column(name = "create_time")
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "employee_id")
	public String getEmployeeId() {
		return employeeId;
	}

	public void setEmployeeId(String employeeId) {
		this.employeeId = employeeId;
	}

	@Column(name = "employee_name")
	public String getEmployeeName() {
		return employeeName;
	}

	public void setEmployeeName(String employeeName) {
		this.employeeName = employeeName;
	}

	@Column(name = "store_code")
	public String getStoreCode() {
		return storeCode;
	}

	public void setStoreCode(String storeCode) {
		this.storeCode = storeCode;
	}

	@Column(name = "cate_code")
	public String getCateCode() {
		return cateCode;
	}

	public void setCateCode(String cateCode) {
		this.cateCode = cateCode;
	}

	@Column(name = "memo")
	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
	}

}
